// 定义一个空数组，用于存储问题
let questions = [];
// 定义当前问题索引初始值为-1，表示尚未开始
let currentQuestionIndex = 0;

// 当选择json文件时触发该事件监听器
document.getElementById('jsonFile').addEventListener('change', function (event) {
    const file = event.target.files[0];
    if (file) {
        const reader = new FileReader();

        reader.onload = function (event) {
            try {
                const jsonData = JSON.parse(event.target.result);
                console.log("jsonData", jsonData);

                // 将 jsonData 赋值给一个全局数组  
                questions = jsonData;

                // 在这里可以对 dataArray 进行进一步的处理  
                console.log("questions: ", questions);

                // 加载第一个问题
                loadQuestion(0);

            } catch (error) {
                console.error('Error parsing JSON file:', error);
            }
        };

        reader.onerror = function (error) {
            console.error('Error reading file:', error);
        };
        reader.readAsText(file);
    } else {
        console.error('No file selected');
    }
});

/**
 * 加载并显示指定索引的问题
 * @param {number} index - 要加载的问题索引
 */
function loadQuestion(index) {
    // 确保索引在有效范围内
    if (index >= 0 && index < questions.length) {
        // 更新当前问题索引
        currentQuestionIndex = index;
        // 在页面上显示问题的各个部分
        document.getElementById('question').innerText = questions[index].questionType;
        document.getElementById('topic').innerText = questions[index].topic;
        document.getElementById('left-viewpoint').innerText = questions[index].leftView;
        document.getElementById('right-viewpoint').innerText = questions[index].rightView;
    } else {
        // 如果索引无效，则清空显示内容
        document.getElementById('question').innerText = '';
        document.getElementById('topic').innerText = '';
        document.getElementById('left-viewpoint').innerText = '';
        document.getElementById('right-viewpoint').innerText = '';
    }
}

/**
 * 加载下一个问题
 */
function nextQuestion() {
    console.log("currentQuestionIndex", currentQuestionIndex);
    // 确保不是最后一个问题
    if (currentQuestionIndex < questions.length - 1) {
        // 加载下一个问题
        loadQuestion(currentQuestionIndex + 1);
    } else {
        alert('已经是最后一题了');
    }
}

/**
 * 加载上一个问题
 */
function previousQuestion() {
    // 确保不是第一个问题
    if (currentQuestionIndex > 0) {
        // 加载上一个问题
        loadQuestion(currentQuestionIndex - 1);
    } else {
        alert('已经是第一题了');
    }
}

// 添加事件监听器以响应“下一题”按钮点击
document.getElementById('nextQuestion').addEventListener('click', nextQuestion);

// 添加事件监听器以响应“上一题”按钮点击
document.getElementById('previousQuestion').addEventListener('click', previousQuestion);

document.addEventListener('DOMContentLoaded', function () {
    questions = [];
    currentQuestionIndex = 0;
});